﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace blacksoft.Models
{
    public class GenerateReservaFilterModel
    {
        [Display(Name = "Origen")]
        public string Origen { get; set; }
        [Display(Name = "Destino")]
        public string Destino { get; set; }


        [Display(Name = "Fecha salida")]
        [DataType(DataType.Date)]
        public string FechaSalida { get; set; }


        [Display(Name = "Fecha llegada")]
        [DataType(DataType.Date)]
        public string FechaLlegada { get; set; }


        [Display(Name = "Tipo")]
        public string TipoViaje { get; set; }
        [Display(Name = "ddl_Origen")]
        public List<SelectListItem> ListOrigen { get; set; }
        [Display(Name = "ddl_Destino")]
        public List<SelectListItem> ListDestino { get; set; }

        public string mensajeAgregoBien { get; set; }
        public GenerateReservaFilterModel()
        {
            this.ListOrigen = new List<SelectListItem>();
            this.ListDestino = new List<SelectListItem>();
            
        }
    }

    public class ProgramacionDisponible
    {
        public int IdProgramcionViaje { get; set; }
        public string Origen { get; set; }
        public string Destino { get; set; }
        public string TiempoAproximado { get; set; }
        public int TipoServicio { get; set; }

        public string  DescriptionTipoServicio { get; set; }
        public DateTime FechaSalida { get; set; }
        public decimal Precio { get; set; }
    }

    public class PasajeroModel
    {

        [Display(Name = "Tipo documento")]
        public string TipoDocumentos { get; set; }

        [Display(Name = "DNI")]
        public string DNI { get; set; }
        [Display(Name = "Nombre")]
        public string Nombre { get; set; }
        [Display(Name = "Ap. Paterno")]
        public string ApellidoPaterno { get; set; }
        [Display(Name = "Ap. Materno")]
        public string ApellidoMaterno { get; set; }
        [Display(Name = "Fe. Nacimiento")]
        public string FechaNacimiento { get; set; }
        [Display(Name = "Direccion")]
        public string Direccion { get; set; }
        [Display(Name = "Telefono")]
        public string Telefono { get; set; }


        [Display(Name = "FechaRegistro")]
        public string FechaRegistro { get; set; }
        [Display(Name = "Estado")]
        public string Estado { get; set; }
        [Display(Name = "Email")]
        public string Email { get; set; }
        [Display(Name = "Nro Asiento")]
        public int NroAsiento { get; set; }
        public int NroAsientoVuelta { get; set; }

        public string Refrigerio { get; set; }
        public string Almuerzo { get; set; }
    }

    public class GenerateReservaModel
    {
        public string TipoReserva { get; set; }
        public GenerateReservaFilterModel filter { get; set; }
        public PasajeroModel pasajeroDatos { get; set; }
        public List<ProgramacionDisponible> listaProgramacionViaje { get; set; }
        public List<ProgramacionDisponible> listaProgramacionViajeVuelta { get; set; }
        public GenerateReservaModel()
        {
            this.pasajeroDatos = new PasajeroModel();
            this.filter = new GenerateReservaFilterModel();
            this.listaProgramacionViaje = new List<ProgramacionDisponible>();
            this.listaProgramacionViajeVuelta = new List<ProgramacionDisponible>();
        }
    }
}